package com.yidu.erp.dao;

import java.util.List;
import java.util.Map;


import com.yidu.erp.action.stock.vo.StockVo;
import com.yidu.erp.model.BeyondInventory;

public interface BeyondInventoryMapper {
    int deleteByPrimaryKey(String inventoryId);

    int insert(BeyondInventory record);

    int insertSelective(BeyondInventory record);

    BeyondInventory selectByPrimaryKey(String inventoryId);

    int updateByPrimaryKeySelective(BeyondInventory record);

    int updateByPrimaryKey(BeyondInventory record);
    /**
     * 显示药品库存的方法
     * @param map 所需参数
     * @return 药品的map集合
     */
    public List<Map<String, Object>> showAll(Map<String, Object> map);
    /**
     * 查询显示药品库存总行数的方法
     * @param map 所需参数
     * @return 查询到的行数
     */
    public int showAllCount(Map<String, Object> map);
    /**
     * 增加库存的方法
     * @param inventory 库存的对象
     * @return 执行行数
     */
    public int addCountById(BeyondInventory inventory);
    /**
     * 减少库存的方法
     * @param inventory 库存的对象
     * @return 执行行数
     */
    public int minusCountById(BeyondInventory inventory);
    /**
     * 增加库存记录的方法
     * 根据要存入记录的编号增加库存记录的方法
     * @param inventory 库存对象
     * @return 执行行数
     */
    public int addRecordById(BeyondInventory inventory);
    /**
     * 查询记录是否存在的方法
     * @param inventory 库存对象
     * <p>药品编号或者配料编号</p>
     * @return 执行行数
     */
    public int findCountById(BeyondInventory inventory);
    /**
     * 根据存入的物品编号和分店编号进行查询的方法
     * @param inventory 库存的对象
     * @return 所存入物品的库存数
     * <p>库存的code和分店的编号必须填入</p>
     */
    public Integer findInventory(BeyondInventory inventory);
    /**
     * 查询配料的方法
     * @param map 查询所需参数
     * @return 查询结果的map集合
     */
    public List<Map<String, Object>> showAllDos(Map<String, Object> map);
    /**
     * 查询配料的总行数
     * @param map 查询所需要的参数
     * @return 配料的总行数
     */
    public int showAllDosCount(Map<String, Object> map);
    /**
     * 查询生产计划所需要的配料的方法
     * @param map 所需参数 wareId 药品编号 num 药品数量
     * @return 配料的集合
     *	<p>
     *	map中的参数<br>
     * 'dosName',#所需配料名称#<br>
     * 'price',#单价#<br>
     * 'wantCount',#需要配料的数量#<br>
     * 'ordNum',#原始库存#<br>
     * 'nowNum',#减去之后的库存#<br>
     * 'money',#价格#<br>
     * 'state' #状态#<br>
     * </p>
     */
    public List<Map<String, Object>> findByDos(Map<String, Object> map);
}